package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单对象 hospital_subscribe_order
 * 
 * @author ruoyi
 * @date 2025-04-30
 */
@Data
public class HospitalSubscribeOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderNo;

    /** 微信订单号 */
    @Excel(name = "微信订单号")
    private String weChatOrderNo;

    /** 付款总金额 */
    @Excel(name = "付款总金额")
    private BigDecimal money;

    /** 0未付款 1已付款 2已完成 3已退款 4已预约 5已关闭 6完成中 */
    @Excel(name = "0未付款 1已付款 2已完成 3已退款 4已预约 5已关闭")
    private Integer status;

    /** 付款方式 0微信 */
    @Excel(name = "付款方式 0微信")
    private Integer paymentType;

    /** 付款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentTime;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completeTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date daysDate;

    /**
     * 预约时间id
     */
    @Excel(name = "预约时间id")
    private Long scheduleCapacityId;

    /**
     * 体检人信息id
     */
    @Excel(name = "体检人信息id")
    private Long examinerInfoId;

    /**
     * 退款时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date refundTime;

    /** 商户退款单号 */
    @Excel(name = "商户退款单号")
    private String outRefundNo;

    /** 微信退款单号 */
    @Excel(name = "微信退款单号")
    private String weChatRefundOrderNo;

    /**
     * 0套餐
     */
    @Excel(name = "0套餐 1检查项")
    private Integer itemType;

    /**
     * 关联商品/项目id
     */
    @Excel(name = "关联商品/项目id")
    private Long projectId;

    /**
     * 数量
     */
    @Excel(name = "数量")
    private Integer number;

    /** 二维码地址 */
    @Excel(name = "二维码地址")
    private String codeUrl;

    /** 检查项目图片地址 */
    @Excel(name = "检查项目图片地址")
    private String projectPhotographUrl;

    private List<Integer>statusList;
}
